<html>
<head><meta charset="utf-8"><title>denied_by_edition, RFC 3088 · t-libs · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/219381-t-libs/index.html">t-libs</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/219381-t-libs/topic/denied_by_edition.2C.20RFC.203088.html">denied_by_edition, RFC 3088</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="235263594"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/219381-t-libs/topic/denied_by_edition%2C%20RFC%203088/near/235263594" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> bstrie <a href="https://rust-lang.github.io/zulip_archive/stream/219381-t-libs/topic/denied_by_edition.2C.20RFC.203088.html#235263594">(Apr 19 2021 at 23:09)</a>:</h4>
<p>has the libs team discussed <a href="https://github.com/rust-lang/rfcs/pull/3088">https://github.com/rust-lang/rfcs/pull/3088</a> before? All of the documentation-related stuff is not urgent and can be decided/tweaked whenever, but the core of it (a lint to deny the use of very old deprecated items) does require an edition change, and I figure the deadline for a decision there is fast approaching.</p>



<a name="235265012"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/219381-t-libs/topic/denied_by_edition%2C%20RFC%203088/near/235265012" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/219381-t-libs/topic/denied_by_edition.2C.20RFC.203088.html#235265012">(Apr 19 2021 at 23:24)</a>:</h4>
<p>I'm not sure if it has been discussed before, but from my readthrough of the issue the lint part that you highlighted seems relatively non controversial so it seems reasonable to move forward with that aspect of the change.</p>



<a name="235265437"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/219381-t-libs/topic/denied_by_edition%2C%20RFC%203088/near/235265437" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/219381-t-libs/topic/denied_by_edition.2C.20RFC.203088.html#235265437">(Apr 19 2021 at 23:29)</a>:</h4>
<p>what is the decision you need from the libs team? Just an approval of the edition specific portions of the PR?</p>



<a name="235310542"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/219381-t-libs/topic/denied_by_edition%2C%20RFC%203088/near/235310542" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Mara <a href="https://rust-lang.github.io/zulip_archive/stream/219381-t-libs/topic/denied_by_edition.2C.20RFC.203088.html#235310542">(Apr 20 2021 at 08:59)</a>:</h4>
<p><span class="user-mention" data-user-id="256342">@bstrie</span> there's already been quite a bit of discussion about whether we want to upgrade lints to deny over an edition change or not. <span class="user-mention" data-user-id="224872">@rylev</span> can probably tell you more about that. (Maybe <a class="stream" data-stream-id="268952" href="/#narrow/stream/268952-edition-2021">#edition 2021</a> is a better place for that.)</p>



<a name="235311355"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/219381-t-libs/topic/denied_by_edition%2C%20RFC%203088/near/235311355" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Mara <a href="https://rust-lang.github.io/zulip_archive/stream/219381-t-libs/topic/denied_by_edition.2C.20RFC.203088.html#235311355">(Apr 20 2021 at 09:05)</a>:</h4>
<p><span class="user-mention" data-user-id="256342">@bstrie</span> what's the goal you want to achieve with this? this doesn't really allow us to remove code from the standard library, because we'll keep supporting old versions. it also doesn't allow us to reuse the names later or anything like that.</p>



<a name="235320657"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/219381-t-libs/topic/denied_by_edition%2C%20RFC%203088/near/235320657" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> rylev <a href="https://rust-lang.github.io/zulip_archive/stream/219381-t-libs/topic/denied_by_edition.2C.20RFC.203088.html#235320657">(Apr 20 2021 at 10:28)</a>:</h4>
<p>We hadn't discussed this case specifically though we have discussed promoting lints to errors and will be doing that for two lints. The lint procedure is still not really super well specified so I'm hesitant to push for this. We may want to tie this together with future discussions of lint procedures and try to have a policy for this for Rust 2024 (or whatever the next edition will be)</p>



<a name="235392962"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/219381-t-libs/topic/denied_by_edition%2C%20RFC%203088/near/235392962" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> bstrie <a href="https://rust-lang.github.io/zulip_archive/stream/219381-t-libs/topic/denied_by_edition.2C.20RFC.203088.html#235392962">(Apr 20 2021 at 18:35)</a>:</h4>
<p><span class="user-mention silent" data-user-id="310399">Mara</span> <a href="#narrow/stream/219381-t-libs/topic/denied_by_edition.2C.20RFC.203088/near/235311355">said</a>:</p>
<blockquote>
<p><span class="user-mention silent" data-user-id="256342">bstrie</span> what's the goal you want to achieve with this? this doesn't really allow us to remove code from the standard library, because we'll keep supporting old versions. it also doesn't allow us to reuse the names later or anything like that.</p>
</blockquote>
<p>The overall goal is to make the language and documentation (if not the implementation) smaller/easier to learn. Making the language smaller is something that's difficult to achieve in general, so it's worth trying to seize whatever opportunities present themselves. It's also, IME, how people intuitively expect deprecations and editions to interact, which is often countered by the mistaken assumption that this is impossible to achieve via the edition mechanism: <a href="https://www.reddit.com/r/rust/comments/kmo19k/does_rust_use_editions_to_remove_deprecated/">https://www.reddit.com/r/rust/comments/kmo19k/does_rust_use_editions_to_remove_deprecated/</a> . So even if this gets rejected, it will be useful to have it on the record that this is a conscious decision rather than a limitation of editions.</p>



<a name="235435827"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/219381-t-libs/topic/denied_by_edition%2C%20RFC%203088/near/235435827" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/219381-t-libs/topic/denied_by_edition.2C.20RFC.203088.html#235435827">(Apr 21 2021 at 00:13)</a>:</h4>
<p>I'm with <code>bstrie</code>, if something is deprecated we should remove it in the next edition <em>even if</em> internally the standard library continues to support it for legacy reasons.</p>



<a name="235437381"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/219381-t-libs/topic/denied_by_edition%2C%20RFC%203088/near/235437381" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> bstrie <a href="https://rust-lang.github.io/zulip_archive/stream/219381-t-libs/topic/denied_by_edition.2C.20RFC.203088.html#235437381">(Apr 21 2021 at 00:32)</a>:</h4>
<p>note that this RFC does not deny deprecated items in the "next" edition; it denies items that have been deprecated for at <em>least</em> one full edition cycle. As written, it would have no effect on items deprecated after 1.31. Denying newer deprecated items is left to future editions.</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>